import 'reflect-metadata';

@Reflect.metadata('decri', '都是地球人')
class People {
  @Reflect.metadata('descible', '姓名不能包含非法汉字')
  username = 'wangewu';
  @Reflect.metadata('importinfo', '去吃肯德基啊')
  eat() {}
}

// 定义子类
class ChinesePeople extends People {
  guoYear() {}
}

// 判断People.prototype 原型上 eat 方法上是否存在 importinfo 原数据
if (Reflect.hasMetadata('importinfo', ChinesePeople.prototype, 'eat')) {
  console.log('hasMetadata => People 原型上存在 eat 方法的importinfo 原数据');
}

// 获取自有元数据，但是不能获取原型链上父类的元数据， - hasOwnMetadata
if (Reflect.hasOwnMetadata('importinfo', ChinesePeople.prototype, 'eat')) {
  console.log(
    'hasOwnMetadata => People 原型上存在 eat 方法的importinfo 原数据'
  );
}
